Skip to content

Even more CI fixes#812

Closed
achow101 wants to merge 15 commits intobitcoin-core:masterfrom
achow101:2025-10-fix-ci
Closed

Even more CI fixes#812
achow101 wants to merge 15 commits intobitcoin-core:masterfrom
achow101:2025-10-fix-ci

Conversation

@achow101
Copy link
Copy Markdown
Member

@achow101 achow101 commented Oct 7, 2025

A number of things changed recently, breaking CI again.

  • Trezor switched from poetry to uv for dependency management, so simulators could not be built
  • There's a rust nightly change that also causes the Trezor simulators to not build that needs patching
  • Ledger's Speculos dropped support for the Nano S which we were using for testing with the Bitcoin Legacy app. We now build the legacy app ourselves and target the Nano S+ in those tests
  • Ledger added new UI elements which need new automation rules for the tests to pass
  • Coldcard sim builder was timing out on clone because of the lwip repo stalling on download. The clone is changed to be a shallow clone along with using the github mirror of lwip.
  • Coldcard patches need to be updated again and a patch in the Coldcard repo needs to be applied to build the simulator
  • Coldcard requires additional dependencies in the builder
  • CI was not properly running the dist tests
  • The tests disabled in Fix CI #795 are re-enabled.

Coldcard is still failing some signing tests, looking into those.

Trezor switched to uv for dependency management
Recent versions of Speculos no longer support the Nano S. Additionally,
we build the legacy app for the Nano S separately now.
lwip is a submodule of many device firmware repos, but the default URLs
often fail to be cloned. Rewrite those URLs with git config to use the
Github mirror to avoid that issue.
Instead of listing out the dependencies required to install manually,
just install from speculos itself.
These don't seem to work anymore.
@moneymanolis
Copy link
Copy Markdown

How about we tag / bring in the maintainers for the projects for which the CI is failing, it's mainly Coldcard apparently.

@Sjors Sjors mentioned this pull request Jan 19, 2026
@Sjors
Copy link
Copy Markdown
Member

Sjors commented Jan 19, 2026

#818 tries to pin the various libraries. It reverts a few commits from this PR to avoid debugging work. But I'm still struggling to get CI green. I don't understand how the Ledger tests passed here. Or for that matter, how they passed for #795. This is madness :-(

@Sjors
Copy link
Copy Markdown
Member

Sjors commented Jan 21, 2026

Managed to get #818 green.

@achow101 achow101 closed this Jan 22, 2026
achow101 added a commit that referenced this pull request Jan 29, 2026
cafc8b0 ci, bitbox02: stop simulator after timeout (Sjors Provoost)
38fae57 Constrain cbor2 to <5.8 (Sjors Provoost)
51e55a1 test, bitbox02: add 5 minute startup timeout (Sjors Provoost)
85d98b2 test, jade: add 5 minute startup timeout (Sjors Provoost)
27f59da ci, jade: pin to v1.0.36 (Sjors Provoost)
ba35c93 ci, coldcard: pin to v5.4.4 (Sjors Provoost)
511e019 ci, ledger: Pin Ledger app versions for compatibility (Sjors Provoost)
cab1a9a ci: Pin device firmware versions in setup_environment.sh (Sjors Provoost)
d25cc7d test: assert getkeypool returns list before passing to importdescriptors (Sjors Provoost)
3d140ec test, coldcard: Disable external input tests (Ava Chow)
613fe84 ci: install some more dependencies (Ava Chow)
2491a38 test, coldcard: Apply mpy patch before building (Ava Chow)
9ba9a17 test, ledger: Update automation (Ava Chow)
1d09f40 test, ledger: Install speculos dependencies from speculos (Ava Chow)
5331398 test, keepkey: Patch nanopb deprecated file mode (Ava Chow)
c6c5559 ci, test: Use shallow clones for device firmware repos (Ava Chow)
d4f1873 ci: Use github mirror of lwip (Ava Chow)
54b8869 ci, ledger: Build Bitcoin Legacy app and use nanosp for testing it (Ava Chow)
18b747e ci: Fix dist tests (Ava Chow)
8e63078 ci: Stop using ubuntu-22.04 (Ava Chow)
09080f2 test, trezor: Patch Trezor T to build (Ava Chow)
11ade3a test, trezor: Change to uv (Ava Chow)
c070643 test, coldcard: Update multisig patch (Ava Chow)

Pull request description:

  Time to stop the whack-a-mole game.

  Pin firmware and simulator versions to the latest releases known to work. We or the device makers can bump them as needed.

  This approach seems more suitable for the lower pace of development on this repo.

  Superseedes #812 (takes most of its commits)

ACKs for top commit:
  achow101:
    ACK cafc8b0

Tree-SHA512: b6646cddc2a6c8fd68956aba1d35343fc4ef9531aee4b4fdc7668c74d559467cd113121b5b17f9cff6519f2491da7fe32057534e2a9dccd901257ec6c715f5bb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants